package com.soul.admin.scheduledtask;

import com.soul.admin.service.AnalysisService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * @author mdoya
 * @version 1.0
 * @description: springboot自带定时任务  定时任务调度中心
 */
@Slf4j
@Component
public class AnalysisScheduleTask {

    @Autowired
    private AnalysisService analysisService;

    /**
     *  cron表达式 也是时间配置规则
     *  | 秒   | 是   | 0-59            | , - * /         |
     * | ---- | ---- | --------------- | --------------- |
     * | 分   | 是   | 0-59            | , - * /         |
     * | 时   | 是   | 0-23            | , - * /         |
     * | 日   | 是   | 1-31            | , - * ? / L W C |
     * | 月   | 是   | 1-12 或 JAN-DEC | , - * /         |
     * | 周   | 是   | 1-7 或 SUN-SAT  | , - * ? / L C # |
     */
    @Scheduled(cron = "00 00 01 * * ?")
    public void logScheduleTask(){
        log.debug("定时任务开始统计工作");
        analysisService.analysis();
        log.debug("定时任务结束统计工作");
    }
}